Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR closes #123. It improves the runtime of the
apply_hdrfix
function. Adds some missing tests as well.I profiled the
extract_metadata
function at Utah using MJD 60255, which has 1105 raw frame to process. Without theapply_hdrfix
,extract_metadata
takes 217 seconds to run, with the bulk of the time spent infits.getheader
(215 seconds). With the original method, it took ~31000 seconds to run, with the bulk of the time spent in thepathlib.Path.rglob
ofapply_hdrfix
. This PR removes the pathlib rglob search and replaces it with an fnmatch check. This reduces the time significantly. With the newapply_hdrfix
,extract_method
took 229 seconds to run, with the bulk time still spent infits.getheader
, 214 seconds with 13 seconds spent inapply_hdrfix
.